Sorts the passed in array based on the passed in comparer using a modified merge-sort algorithm. Optionally you can pass in a temporary array equal (or greater) in size to arr. The method will make use of that array instead of allocating one. If null is passed in, then it will allocate one. Merge sort should be used if the operation of comparing items is expensive.
Target Platforms: Android 4.4+, iOS 8+
Development Environments: Visual Studio 2015+, Visual Studio for Mac Preview, Xamarin for Visual Studio 4.2+